Git Learning Notes from 廖老大!


简介

Git是目前世界上最先进的分布式版本控制系统

诞生

BitKeepe
Gi –基于C

集中式 与 分布式

  • 集中式:
    需先从中央服务器获得最新版本,改后交由服务器整合。—-联网工作
  • 分布式:
    每个人的电脑上都是一个完整的版本库,各个电脑可相互推送修改内容。—-不必联网

所有的版本控制系统,其实只能跟踪文本文件的改动,比如TXT文件,而图片、视频这些二进制文件,虽然也能由版本控制系统管理,但没法跟踪文件的详细变化,Microsoft的Word格式是二进制格式

Git安装

  1. 官网下载https://git-scm.com/downloads
    已安装可通过Git本身获得最新的开发版本
    git clone https://github.com/git/git
  2. 设置 -指定仓库的用户名和Email地址
    git config --global user.name "Your Name"
    git config --global user.email "email@example.com"

创建版本库(仓库)

  • 创建目录
  • 初始化git

git init

  • 添加 readme.txt 文件到git仓库
    1
    2
    3
    4
    git add file1  //git命令必须在git仓库目录中运行
    git add file2 //add 文件时改文件必须在当前目录存在
    ... //可以一次提交多个文件
    git commit -m "有意义的提交说明"
  • 注意不要使用记事本编写!!!!不要使用记事本编写!!!!不要使用记事本编写!!!! 安装notepad++

实时掌握工作区状态

1
2
3
4
5
git status //显示当前工作区的更改状态(判定是否有差异 差异对象目前不懂)
git diff //若存在差异,则可通过命令查看具体的差异 可指定commit_id
git add file1 //提交修改记录
git commit -m "修改说明"

版本更替

  1. 查看
  • git log
  • 查看从当前版本开始最近到最远的提交记录
  • 记录commit_id版本号
  • id:SHA1计算出来的一个非常大的数字,用十六进制表示,用于区分不同commit版本

  1. 回溯
    git reset –hard commit_id (绝对)
    git reset –hard head^ (相对)
  • 相对head指针指向的版本 ^个数为相对于当前head指向版本的上..版本
  • head~100 相当于 head^^^^(100个)
  1. 未来
  • git reflog
  • 查看所有commit版本历史 确定即将更替版本的版本号

待更新…